package com.yan.control;
import com.yan.entity.Common;
import com.yan.entity.Customer;
import com.yan.service.customer.CustomerServiceImp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

//@Controller 的衍生注解,处理 Http 请求
@RestController
//@CrossOrigin注解，以便启用跨域(CORS)支持
@CrossOrigin
//这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上。
@RequestMapping("cus")
public class CustomerController {
    //将 Spring 容器中的 bean 自动的和我们需要这个 bean 的类组装在一起
    @Autowired
    CustomerServiceImp service;
    //注释将 HTTP GET 请求映射到特定的处理程序方法
    @GetMapping("getAll")
    public Common getAllCus(){
        return service.getAllCus();
    }
    @GetMapping("getNoAll")
    public Common getNoAllCus(){
        return service.getNoCus();
    }

    @GetMapping("getIsDel")
    public Common getIsDel(){
        return service.getIsDel();
    }
    @GetMapping("getByTel/{tel}")
    public Common getCusByTel(@PathVariable Long tel){
        return service.getCusByParam("telnum",tel);
    }
    @GetMapping("getById/{id}")
    public Common getCusById(@PathVariable Long id){
        return service.getCusByParam("cid",id);
    }

    @PostMapping("regCus")
    public Common regCus(@RequestBody Customer customer){
        if( service.RegCus(customer)){
            return Common.success("注册成功");
        }
        return Common.error(500,"注册失败");
    }

    @DeleteMapping("delCus/{id}")
    public Common delCus(@PathVariable int id){
        return service.delCus(id);
    }

    @PostMapping("update")
    public Common updateCus(@RequestBody Customer customer){
        return service.updateCus(customer);
    }
}

